/*
 * cMono.cpp
 *
 *  Created on: Nov 7, 2014
 *      Author: root
 */

#include "cMono.h"
#include <stdio.h>
#include "../objetosGrilla.h"
#include "../manejadorGrilla.h"
#include "../clasesAuxiliares/envioAlCliente.h"
#include "../clasesAuxiliares/SocketCommunication.h"

const int RETRASO_MOVIMIENTO = 2;

cMono::cMono() {}

cMono::~cMono() {

}

void cMono::inicializar (manejadorGrilla &grilla, int id, SocketCommunication *socket_J1, SocketCommunication *socket_J2)
{
	this->height = 5;
	this->witdh = 6;
	sprintf(this->id, "mon_%d", id);
	this->sentido  = 0;
	this->socket_J1 = socket_J1;
	this->socket_J2 = socket_J2;
	this->y= 12;
	this->x= 20;
	this->height = 5;
	this->witdh = 6;
	this->type = objetosGrilla::getTypeMono();
	this->socket_J1 = socket_J1;
	this->socket_J2 = socket_J2;
	this->restrasoMovimiento = RETRASO_MOVIMIENTO;
	envioAlCliente::envioPosicion(this->id, this->socket_J1, this->socket_J2,this->x, this->y);
}



void cMono::mover(manejadorGrilla &grilla)
{
	if(this->restrasoMovimiento == 0)
	{
		if(this->sentido == 0) //izquierda
		{
			if(this->x - 1 > 10)
				this->moverIzquierda(grilla);
			else
				this->sentido = 1;
		}
		else //derecha
		{
			if(this->x + this->witdh < 54)
					this->moverDerecha(grilla);
				else
					this->sentido = 0;
		}
		this->restrasoMovimiento = RETRASO_MOVIMIENTO;
	}
	else
	{
		this->restrasoMovimiento--;
	}
}

void cMono::moverIzquierda (manejadorGrilla &grilla)
{
	this->sentido = 0;
	//int x0 = this->x;
	//int xF = this->x + this->witdh - 1;
	this->x = this->x - 1;
//	envioAlCliente::envioPosicion(this->id, this->socket_J1, this->socket_J2,this->x, this->y);

}

void cMono::moverDerecha (manejadorGrilla &grilla)
{
	this->sentido = 1;

	//int x0 = this->x;
	//int xF = this->x + this->witdh - 1;
	this->x = this->x + 1;
//	envioAlCliente::envioPosicion(this->id, this->socket_J1, this->socket_J2,this->x, this->y);

}
